package com.dmx.net;

import java.io.File;
import java.io.IOException;

import com.dmx.net.ftp.impl.RemoteFtpFileNotExistsException;

public interface NetworkProtocolClient {
	public String getPasswd();

	public void setPasswd(String passwd);

	public int getPort();

	public void setPort(int port);

	public String getRemoteHost();

	public void setRemoteHost(String remoteHost);

	public String getUserName();

	public void setUserName(String userName);

	public String getProtocol();

	public boolean safeLogin() throws ConnectionException;

	public boolean navigateToFolder(String folderUrlString)
			throws ConnectionException, IOException;

	public boolean createRemoteFolder(String dir) throws ConnectionException;

	public boolean putFile(File localFile, String remoteFile, boolean isResumed)
			throws ConnectionException, IOException;

	public boolean getFile(File localFile, String remoteFile, boolean isResumed)
			throws ConnectionException, IOException,
			RemoteFtpFileNotExistsException;
	
	public boolean deleteResource(String destName) throws ConnectionException ;
	
	public void close();

	public void setTimeout(int timeout);

	public int getTimeout();

}
